#include<iostream>
using namespace std;
int arr[10005];
int main()
{
//现在是2025年4月25，明天我就去打蓝桥杯了。然后我做了一下这个题，我踏马根本就不会。我请问了蓝桥别我踏马能拿省三吗
//我以为这是个求逆序对的，然后deepseek说只有只允许交换相邻元素的那个次数才是求逆序对，然后这个题允许任意交换，所以说不是
//然后就硬交换。每次都和下标相对的那个交换。不是我请问了这谁想得到啊
//真牛逼，随便吧，蓝桥杯大不了蓝年再战
’
    int n, cnt = 0;
    cin >> n;
    for (int i = 1;i <= n;i++)
    {
        cin >> arr[i];
    }
    for (int i = 1;i <= n;i++)
    {
        if (arr[i] != i)
        {
            swap(arr[i], arr[arr[i]]);
            cnt++;
            i--;
        }
    }
    cout << cnt;
    return 0;
}